# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/16 15:43 
@Author  : ZhangShenao 
@File    : basic.py 
@Desc    : assert基础

assert的作用就是对代码做一些self-check
使用assert,就表示你很确定,某个条件一定会发生或者一定不会发生

assert语法: assert expression ["," expression]
它等价于下面的代码:
if __debug__:
    if not expression: raise AssertionError

这里的__debug__是一个魔数
如果Python程序执行时附带-O这个选项,比如Python test.py -O,那么程序中所有的assert语句都会失效,魔数hu__debug__便为False
反之__debug__则为True

直接对常数__debug__赋值是非法的,因为它的值在解释器开始运行时就已经决定了,中途无法改变

不要在使用assert时加入括号

"""

# 这里1==2为False,会抛出AssertionError
# assert 1 == 2, 'this should be fail'  # AssertionError: this should be fail
